// Copyright (C) <2018> Zealcomm Inc.
//
// SPDX-License-Identifier: Apache-2.0
#ifndef IRTC_CONFERENCE_OBJC_IRTCCONFERENCEPARTICIPANT_H_
#define IRTC_CONFERENCE_OBJC_IRTCCONFERENCEPARTICIPANT_H_
#import <Foundation/Foundation.h>
#import <WebRTC/RTCMacros.h>
NS_ASSUME_NONNULL_BEGIN
@protocol IRTCConferenceParticipantDelegate;

/// This class represents an attendee in a conference.<br>这个类代表了会议的一个与会者。
RTC_EXPORT
@interface IRTCConferenceParticipant : NSObject
- (instancetype)init NS_UNAVAILABLE;
/// The ID of the participant. It varies when a single user join different conferences.<br>与会者的ID。当同一个用户加入不同会议会有不同的ID。
@property(readonly, strong) NSString* participantId;
/// Role of the participant.<br>与会者的角色。
@property(readonly, strong) NSString* role;
/// The user ID of the participant. It can be integrated into existing account management system.<br>与会者的用户ID。它可以整合到已存在的账号管理系统。
@property(readonly, strong) NSString* userId;

@property(nonatomic, weak) id<IRTCConferenceParticipantDelegate> delegate;
@end

RTC_EXPORT
@protocol IRTCConferenceParticipantDelegate<NSObject>
@optional
/// Participant leave conference.
- (void)participantDidLeave:(IRTCConferenceParticipant*)participant;
@end
NS_ASSUME_NONNULL_END
#endif  // IRTC_CONFERENCE_OBJC_IRTCCONFERENCEPARTICIPANT_H_
